/**
 */
package org.mro.grib.model.files.secondEdition.grids;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Grid Definition Template340</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getNumberOfPointsAlongAParallel <em>Number Of Points Along AParallel</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getNumberOfPointsAlongAMeridian <em>Number Of Points Along AMeridian</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getBasicAngleOfTheInitialProductionDomain <em>Basic Angle Of The Initial Production Domain</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getSubdivisionsOfBasicAngle <em>Subdivisions Of Basic Angle</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLatitudeOfFirstGridPoint <em>Latitude Of First Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLongitudeOfFirstGridPoint <em>Longitude Of First Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getResolutionAndComponentFlags <em>Resolution And Component Flags</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLatitudeOfLastGridPoint <em>Latitude Of Last Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLongitudeOfLastGridPoint <em>Longitude Of Last Grid Point</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getIDirectionIncrement <em>IDirection Increment</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getNumberOfParallelsBetweenAPoleAndTheEquator <em>Number Of Parallels Between APole And The Equator</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getScanningMode <em>Scanning Mode</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getListOfNumberOfPointsOffset <em>List Of Number Of Points Offset</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340()
 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description='Gaussian latitude/longitude' note_1='Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).' note_2='The number of parallels between a pole and the Equator is used to establish the variable (Gaussian) spacing of the\r\nparallels; this value must always be given.' note_3='A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres.' note_4='A quasi-regular grid is only defined for appropriate grid scanning modes. Either rows or columns, but not both\r\nsimultaneously, may have variable numbers of points. The first point in each row (column) shall be positioned at the\r\nmeridian (parallel) indicated by octets 47\u201354. The grid points shall be evenly spaced in latitude (longitude).' note_5='It is recommended to use unsigned direction increments.'"
 * @generated
 */
public interface GridDefinitionTemplate340 extends EarthShapeGridDefinition {
	/**
	 * Returns the value of the '<em><b>Number Of Points Along AParallel</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Number Of Points Along AParallel</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Number Of Points Along AParallel</em>' attribute.
	 * @see #setNumberOfPointsAlongAParallel(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_NumberOfPointsAlongAParallel()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Ni' description_en='Number of points along a parallel'"
	 * @generated
	 */
	int getNumberOfPointsAlongAParallel();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getNumberOfPointsAlongAParallel <em>Number Of Points Along AParallel</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Number Of Points Along AParallel</em>' attribute.
	 * @see #getNumberOfPointsAlongAParallel()
	 * @generated
	 */
	void setNumberOfPointsAlongAParallel(int value);

	/**
	 * Returns the value of the '<em><b>Number Of Points Along AMeridian</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Number Of Points Along AMeridian</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Number Of Points Along AMeridian</em>' attribute.
	 * @see #setNumberOfPointsAlongAMeridian(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_NumberOfPointsAlongAMeridian()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Nj' description_en='Number of points along a meridian'"
	 * @generated
	 */
	int getNumberOfPointsAlongAMeridian();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getNumberOfPointsAlongAMeridian <em>Number Of Points Along AMeridian</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Number Of Points Along AMeridian</em>' attribute.
	 * @see #getNumberOfPointsAlongAMeridian()
	 * @generated
	 */
	void setNumberOfPointsAlongAMeridian(int value);

	/**
	 * Returns the value of the '<em><b>Basic Angle Of The Initial Production Domain</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Basic Angle Of The Initial Production Domain</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Basic Angle Of The Initial Production Domain</em>' attribute.
	 * @see #setBasicAngleOfTheInitialProductionDomain(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_BasicAngleOfTheInitialProductionDomain()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Basic angle of the initial production domain' description_en='Basic angle of the initial production domain (see Note 1)'"
	 * @generated
	 */
	int getBasicAngleOfTheInitialProductionDomain();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getBasicAngleOfTheInitialProductionDomain <em>Basic Angle Of The Initial Production Domain</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Basic Angle Of The Initial Production Domain</em>' attribute.
	 * @see #getBasicAngleOfTheInitialProductionDomain()
	 * @generated
	 */
	void setBasicAngleOfTheInitialProductionDomain(int value);

	/**
	 * Returns the value of the '<em><b>Subdivisions Of Basic Angle</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Subdivisions Of Basic Angle</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Subdivisions Of Basic Angle</em>' attribute.
	 * @see #setSubdivisionsOfBasicAngle(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_SubdivisionsOfBasicAngle()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Subdivisions of basic angle' description_en='Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction\r\nincrements (see Note 1)'"
	 * @generated
	 */
	int getSubdivisionsOfBasicAngle();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getSubdivisionsOfBasicAngle <em>Subdivisions Of Basic Angle</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Subdivisions Of Basic Angle</em>' attribute.
	 * @see #getSubdivisionsOfBasicAngle()
	 * @generated
	 */
	void setSubdivisionsOfBasicAngle(int value);

	/**
	 * Returns the value of the '<em><b>Latitude Of First Grid Point</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Latitude Of First Grid Point</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Latitude Of First Grid Point</em>' attribute.
	 * @see #setLatitudeOfFirstGridPoint(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_LatitudeOfFirstGridPoint()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='La1' description_en='Latitude of first grid point (see Note 1)'"
	 * @generated
	 */
	int getLatitudeOfFirstGridPoint();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLatitudeOfFirstGridPoint <em>Latitude Of First Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Latitude Of First Grid Point</em>' attribute.
	 * @see #getLatitudeOfFirstGridPoint()
	 * @generated
	 */
	void setLatitudeOfFirstGridPoint(int value);

	/**
	 * Returns the value of the '<em><b>Longitude Of First Grid Point</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Longitude Of First Grid Point</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Longitude Of First Grid Point</em>' attribute.
	 * @see #setLongitudeOfFirstGridPoint(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_LongitudeOfFirstGridPoint()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Lo1' description_en='Longitude of first grid point (see Note 1)'"
	 * @generated
	 */
	int getLongitudeOfFirstGridPoint();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLongitudeOfFirstGridPoint <em>Longitude Of First Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Longitude Of First Grid Point</em>' attribute.
	 * @see #getLongitudeOfFirstGridPoint()
	 * @generated
	 */
	void setLongitudeOfFirstGridPoint(int value);

	/**
	 * Returns the value of the '<em><b>Resolution And Component Flags</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Resolution And Component Flags</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Resolution And Component Flags</em>' attribute.
	 * @see #setResolutionAndComponentFlags(byte)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_ResolutionAndComponentFlags()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Resolution and component flags' description_en='Resolution and component flags (see Flag table 3.3)'"
	 * @generated
	 */
	byte getResolutionAndComponentFlags();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getResolutionAndComponentFlags <em>Resolution And Component Flags</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Resolution And Component Flags</em>' attribute.
	 * @see #getResolutionAndComponentFlags()
	 * @generated
	 */
	void setResolutionAndComponentFlags(byte value);

	/**
	 * Returns the value of the '<em><b>Latitude Of Last Grid Point</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Latitude Of Last Grid Point</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Latitude Of Last Grid Point</em>' attribute.
	 * @see #setLatitudeOfLastGridPoint(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_LatitudeOfLastGridPoint()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='La2' description_en='Latitude of Last grid point (see Note 1)'"
	 * @generated
	 */
	int getLatitudeOfLastGridPoint();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLatitudeOfLastGridPoint <em>Latitude Of Last Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Latitude Of Last Grid Point</em>' attribute.
	 * @see #getLatitudeOfLastGridPoint()
	 * @generated
	 */
	void setLatitudeOfLastGridPoint(int value);

	/**
	 * Returns the value of the '<em><b>Longitude Of Last Grid Point</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Longitude Of Last Grid Point</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Longitude Of Last Grid Point</em>' attribute.
	 * @see #setLongitudeOfLastGridPoint(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_LongitudeOfLastGridPoint()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Lo2' description_en='Longitude of last grid point (see Note 1)'"
	 * @generated
	 */
	int getLongitudeOfLastGridPoint();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getLongitudeOfLastGridPoint <em>Longitude Of Last Grid Point</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Longitude Of Last Grid Point</em>' attribute.
	 * @see #getLongitudeOfLastGridPoint()
	 * @generated
	 */
	void setLongitudeOfLastGridPoint(int value);

	/**
	 * Returns the value of the '<em><b>IDirection Increment</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>IDirection Increment</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>IDirection Increment</em>' attribute.
	 * @see #setIDirectionIncrement(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_IDirectionIncrement()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Di' description_en='i direction increment (see Notes 1 and 5)'"
	 * @generated
	 */
	int getIDirectionIncrement();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getIDirectionIncrement <em>IDirection Increment</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>IDirection Increment</em>' attribute.
	 * @see #getIDirectionIncrement()
	 * @generated
	 */
	void setIDirectionIncrement(int value);

	/**
	 * Returns the value of the '<em><b>Number Of Parallels Between APole And The Equator</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Number Of Parallels Between APole And The Equator</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Number Of Parallels Between APole And The Equator</em>' attribute.
	 * @see #setNumberOfParallelsBetweenAPoleAndTheEquator(int)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_NumberOfParallelsBetweenAPoleAndTheEquator()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='N' description_en='Number of parallels between a pole and the Equator (see Note 2)'"
	 * @generated
	 */
	int getNumberOfParallelsBetweenAPoleAndTheEquator();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getNumberOfParallelsBetweenAPoleAndTheEquator <em>Number Of Parallels Between APole And The Equator</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Number Of Parallels Between APole And The Equator</em>' attribute.
	 * @see #getNumberOfParallelsBetweenAPoleAndTheEquator()
	 * @generated
	 */
	void setNumberOfParallelsBetweenAPoleAndTheEquator(int value);

	/**
	 * Returns the value of the '<em><b>Scanning Mode</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scanning Mode</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scanning Mode</em>' attribute.
	 * @see #setScanningMode(byte)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_ScanningMode()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scanning mode' description_en='Scanning mode (flags \u2013 see Flag table 3.4)'"
	 * @generated
	 */
	byte getScanningMode();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getScanningMode <em>Scanning Mode</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scanning Mode</em>' attribute.
	 * @see #getScanningMode()
	 * @generated
	 */
	void setScanningMode(byte value);

	/**
	 * Returns the value of the '<em><b>List Of Number Of Points Offset</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>List Of Number Of Points Offset</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>List Of Number Of Points Offset</em>' attribute.
	 * @see #setListOfNumberOfPointsOffset(long)
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getGridDefinitionTemplate340_ListOfNumberOfPointsOffset()
	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel label_en='List of number offset' description_en='Offset of the list of number of points along each meridian or parallel. (These octets are only present for\r\nquasi-regular grids as described in Note 4)'"
	 * @generated
	 */
	long getListOfNumberOfPointsOffset();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340#getListOfNumberOfPointsOffset <em>List Of Number Of Points Offset</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>List Of Number Of Points Offset</em>' attribute.
	 * @see #getListOfNumberOfPointsOffset()
	 * @generated
	 */
	void setListOfNumberOfPointsOffset(long value);

} // GridDefinitionTemplate340
